In a cloud computing environment, computing is delivered as a service rather than a product, whereby shared resources, software and information are provided to computers and other devices as a metered service over a network, such as the Internet. In such an environment, computation, software, data access and storage services are provided to users that do not require knowledge of the physical location and configuration of the system that delivers the services.
In a virtualized computer environment, such as may be implemented in a physical cloud computing node of the cloud computing environment, the virtualized computer environment includes a virtual operating system. The virtual operating system includes a common base portion and separate user portions that all run on a physical computer. The physical computer is referred to as a host. The common base portion may be referred to as a hypervisor and each user portion may be called a guest. Each guest is a logical partition of the physical resources of the computer. A guest operating system runs on each guest, and the guest appears to the guest operating system as a real computer. Each guest operating system may host one or more virtual machines.
Currently, the cloud computing nodes of the cloud computing environment may be connected to a storage system that includes a combination of Solid-State Drive (SSD) devices and Hard Disk Drive (HDD) devices. SSD devices have a lower access time and latency than HDD drives but are more expensive. As a result, the controller of the storage system, commonly referred to as the storage controller, stores the most frequently accessed data in the SSD devices. In particular, the controller places disk extents (contiguous sets of disk blocks) utilized by the virtual machines in either the HDD or SSD device based on how frequently the disk extents are utilized. The disk extents that are more frequently utilized are placed in the SSD device.
The controller allocates the disk extents to the virtual machines as the virtual machines are allocated and deallocated. Unfortunately, the controller may often take twenty-four hours or longer to appropriately place the disk extents to either the HDD or SSD device since the decision is based upon a historical trend of the input/output operation of the disk extents utilized by the virtual machine. By requiring a twenty-four hour or longer cycle to appropriately place the disk extents to the appropriate device (HDD or SSD device) in the storage system, resources are being inefficiently utilized.